Day 9 我們已經學會如何用 Docker 將應用程式容器化。
但問題來了:為什麼要容器化?
其中一個關鍵原因,就是要支撐「不同的軟體架構模式」,特別是微服務架構。
所有功能都在一個專案內,打包成單一可部署單元。
部署快、早期開發成本低。
系統龐大時,改一個小功能也需要重建與重新部署整個應用。
耦合度高,維護與擴展困難。
將應用程式完全拆解成獨立的服務(User Service、Order Service、Payment Service…)。
每個服務可以獨立開發、測試、部署與擴展。
擴展性強:高流量模組(例如訂單)可以單獨水平擴展。
技術多樣性:不同服務可用最適合的技術棧。
服務之間的通訊、資料一致性、監控、部署管理都更複雜。
雖然還是單一部署單元,但內部會依模組拆分職責(例如:user 模組、order 模組)。
減少部分耦合性,讓開發團隊可以在模組層級分工。
部署還是整包一起,不能針對單一模組獨立擴展或獨立部署。
(此處放你的「單體模組化架構」圖)
微服務數量龐大,沒有容器化很難做到一致的部署與運行環境。
服務拆成十幾個、上百個後,需要編排工具(K8s)幫忙:自動部署、擴展、監控與復原。
單體式 → 模組化 → 微服務,代表系統規模不同階段的演進。
微服務能帶來彈性與擴展性,但也需要更強大的基礎設施來支援。
👉 下一篇,我們就要實際看看 如何用 Kubernetes 建立 Pod,將容器部署到叢集裡